Media balancer

ABSTRACT

One or more target schedules is generated based on a single master schedule. Replacement media items are inserted into a target schedule instead of the corresponding media items from the master schedule. The replacement media items are selected from a list of potential media replacement items scored using a scoring method used by a music scheduling system, as corresponding media items in the master schedule. The length of the media items in the list is checked to see if the length falls within a duration delta of the length of the media item being replaced in the master schedule, and to identify items that meet a minimum score threshold. The highest ranking item from the list that satisfies both the score threshold and the duration delta is selected for insertion in the target schedule. Music scheduling systems, such as GSelector®, can be leveraged to generate and score the list.

CROSS REFERENCE TO RELATED APPLICATIONS

The present U.S. Utility patent application claims priority pursuant to35 U.S.C. §120 as a continuation-in-part of U.S. Utility applicationSer. No. 13/478,476, entitled “SCHEDULE SUBSCRIPTION SYSTEM”, filed May23, 2012, which is hereby incorporated herein by reference in itsentirety and made part of the present U.S. Utility patent applicationfor all purposes.

BACKGROUND

Technical Field

This invention relates generally to media scheduling, and moreparticularly to automated scheduling of broadcast content.

Description of Related Art

Music programming for a radio stations has traditionally been performedat the local level (the local radio station). Recent technology usinginternet connectivity has enabled the music programming to be providedby remote music services that may be available on a subscription basisto the local radio station. Radio stations are sometimes provided theoption of obtaining a static schedule of songs from the remote musicservice, but the songs in the schedule obtained from the remote musicsource are kept separate from local programming due to difficulty inmanaging the rights to modify the logs, the Digital Millennium CopyrightAct (DMCA) requirements for song play, and complexities in web-basedservices required to enable the right to make changes to a log.

Because the logs from remote music services are kept separate from thelocal programming logs, special care must be taken to prevent schedulingsongs locally that conflict with songs scheduled by the remote musicservice. This problem is exacerbated because the music service may notprovide information about which songs it has scheduled in a timelymanner—the local programming system simply knows that a particular blockof time has already been scheduled by the remote music service. It isapparent, therefore, that current techniques and systems used forscheduling radio broadcasts are less than perfect.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

FIG. 1 is a block diagram of schedule subscription system, according tovarious embodiments of the present disclosure;

FIG. 2 is a block diagram of schedule subscription server, according tovarious embodiments of the present disclosure;

FIG. 3 is a flow diagram illustrating a method of providing nationallogs, according to various embodiments of the present disclosure;

FIG. 4 is a flow diagram illustrating a method of creating a nationallog from a local log, according to various embodiments of the presentdisclosure;

FIG. 5 a flow diagram illustrating a method of incorporating a nationallog into a local log, according to various embodiments of the presentdisclosure;

FIG. 6 is a diagram of a screen used by a schedule subscription systemto display national logs obtained from various publishers, according tovarious embodiments of the present disclosure;

FIGS. 7-13 are diagrams of a subscription screen showing particularexamples of its use in displaying information about national logsubscriptions for individual local subscribers and stations according tovarious embodiments of the present disclosure;

FIG. 14 is a diagram of a scheduler window used in some embodiments toensure that national logs are not downloaded to a subscriber before anynecessary editing has taken place, and the logs have been approved;

FIG. 15 is a diagram of a lock options management screen, according tovarious embodiments of the present disclosure;

FIG. 16 is a diagram of a screen used to assign lock levels to theelements of a national log, according to various embodiments of thepresent disclosure;

FIG. 17 is a diagram of a scheduling window displaying local clockinformation, according to various embodiments of the present disclosure;

FIG. 18 is a diagram of an expanded list of dates, according to variousembodiments of the present disclosure;

FIG. 19 is a pie chart illustrating editable and non-editable clockpositions, according to various embodiments of the present disclosure;

FIG. 20 is a block diagram of a media balancer system, according tovarious embodiments of the present disclosure;

FIG. 21 is a screen shot of a graphical user interface (GUI) of a mediabalancer, according to various embodiments of the present disclosure;

FIG. 22 is a partial screen shot showing an expanded view of some of theGUI elements illustrated in FIG. 21, according to various embodiments ofthe present disclosure;

FIG. 23 is a partial screen shot showing an expanded view of a log paneillustrated in FIG. 21, according to various embodiments of the presentdisclosure;

FIG. 24 is flow chart illustrating a method of scheduling media itemsaccording to various embodiments of the present disclosure; and

FIG. 25 is a block diagram of a processing system, according to variousembodiments of the present disclosure.

DETAILED DESCRIPTION

Various systems and methods described herein include a subscriptionservice that creates media logs in various genres, for example classicrock from the 1980's, or contemporary country. Generally, local mediascheduling systems requests a log of media items to be included in itslocal programming. The subscription service provides the logs to variousmedia scheduling systems, which incorporate the national log into aparticular daypart of their local clocks, and generate local logs. Thelocal log for each station is usually different from local logs of otherstations, and even the daypart scheduled from the national log candiffer from station to station depending on modification permissions forparticular stations or subscribers.

The term “clock” as used herein refers generally to a template havingpositions associated with particular times of day, or in some casessimply timing relationships between the various slots. Each clockposition is usually also associated with a particular type of contentused to fill that position. For example, a clock for a rock radiostation might have a 15 minute block of time that is intended to befilled with 2 classic rock songs and 1 alternative rock song. The clockmay not originally specify exactly which classic rock or alternativerock songs are to be used. Each position in the clock can be filled withspecific songs, advertisement spots, station identifiers, or othercontent that matches the requirements of particular positions in theclock “template.” Once the clock is full, a log can be generated fromthe clock.

The term “log” refers to a relatively set schedule, which is oftengenerated from a completed clock. The log may include specific contentitems and actual timing. Although a completed clock containssubstantially all of the information included in a log, a clock isgenerally considered to be changeable, while a log is more fixed. Thatis to say, once the clock “template” is finalized, each of the positionsof the clock is fixed by generating a log.

The media logs created by the subscription service are sometimesreferred to herein as national logs, because the logs are often used byvarious different local radio stations throughout the nation. Unlessexplicitly stated, however, the term “national,” when used in thecontext of media clocks, logs, and schedules, encompasses clocks, logs,and schedules generated by a media scheduling service that makes itsmedia schedules available to multiple radio stations that are usually,although not necessarily, in different geographic markets.

National logs are consumed by local media scheduling systems, andinserted into local clocks to generate local logs. The local logsrepresent the broadcast schedule of a particular station. The term“local,” when used in the context of stations, clocks, logs, andschedules, refers to clocks, logs, and schedules generated by a mediascheduling system that performs media scheduling for a particularstation by incorporating the national log, clock or schedule, into aschedule of media items to be broadcast or otherwise provided via alocal station. A local station may include a station that broadcast tomarkets in multiple geographic regions, and in regions that aregeographically distant from the local media scheduling system. Thus forexample, an Internet radio station that broadcasts to all 50 states, aswell as internationally, can still be considered a local station forpurposes of this disclosure, if the station's schedule includes adaypart scheduled according to a national log, and other daypartsscheduled independently.

In some embodiments of a schedule subscription system, one or moreschedule management services may provide national media logs to one ormore subscribers. Referring first to FIG. 1, embodiments of a schedulesubscription system 100 are illustrated and discussed. In someembodiments, schedule subscription system 100 may include schedulemanagement service 102, schedule subscription service A 104, schedulesubscription service B 106, media provider 116 and one or moresubscribers 108, 110, and 112 coupled to each other for communicationvia network 114. Network 114 can include any of various types of wiredor wireless communication networks including, but not limited to, widearea networks (WANs) such as the Internet; local area networks (LANs);wireless local area networks (WLANs); personal area networks such asBluetooth and Wireless USB networks; and cellular and mobile telephonenetworks, which may further include a plain old switched telephonenetwork (PSTN). Various different networks can also include, or becommunicatively coupled to, AM, FM, satellite, and cable radio andtelevision broadcasting facilities and networks, including thosebroadcasting in HD and non-HD formats. In some embodiments, schedulesubscription service A 104 and schedule subscription service B 106 mayprovide national media logs to subscribers 108, 110 and 112. In someembodiments, the national media logs may include a variety ofinformation, including information identifying scheduled broadcast timesof specifically identified songs. In some embodiments, the nationalmedia logs may be generally formatted to cover particular dayparts.

In some embodiments, each subscriber may schedule any combination ofnational and local content when creating their media logs. For example,subscribers 108, 110, and 112 may generate media logs by inserting someor all of the information from the national logs obtained from one ormore schedule subscription services 104, 106 into a local clock, andthen modifying the local clock to include local content in addition tothe national content obtained from schedule subscription services 104and/or 106. For example, in some embodiments, subscriber C 108 maygenerate local logs for local AM radio station 142 and/or local FM radiostation 144. In some embodiments, subscriber B 110 may generate locallogs for local HD television station 132, local Internet televisionstation 134, and/or local television station 136. In some embodiments,subscriber A 112 may generate local logs for broadcast via local HDradio station 122, local Internet radio station 124, and local radiostation 126. The logs generated by any particular subscriber can bedifferent for each of the stations associated with that subscriber, orthe log can be common to each of the stations.

Generally a broadcast schedule may be generated by filling specificmedia items into positions of a local schedule, or clock. Each clockposition may generally identify a start and end time of each clockposition, which may be associated with the time-length of a media itemthat can be inserted into that particular clock position. A clock maygenerally include timeslots for media content, station identifiersand/or other voice tracks, and/or spot blocks that indicate wherecommercials are to be inserted. To fill in the clock, variousembodiments employ a scheduling application, which provides a userinterface to permit adjustment of clock positions, insertion of clockpositions, insertion of media items into a particular clock positions,and/or replacement of media items into particular clock positions. Thescheduling application can generate a log based on the completed clock.Ideally, the log will include specifically identified media items to beplayed in each clock position.

In some embodiments, clocks are generally broken into hour long segmentsthat make up various different dayparts, for example morning drive,afternoon drive, midday, overnight, Saturday, and Sunday. In otherembodiments, clocks may be broken into half-hour segments, quarter-hoursegments, or may be adjusted to some other smaller or larger segment. Insome cases, the term daypart is intended to encompass units of time thatinclude one or more hours, although smaller time units can still beconsidered to be within the meaning of the term daypart. In some cases alocal station will desire to use a national schedule to fill one or moredayparts in its local schedule. Consider the following example involvingsubscriber A 112. Subscriber A 112 may desire to fill the afternoondrive on Mondays for local HD radio station 122 using contemporarycountry music. Subscriber A 112 may desire to fill the same daypart forlocal radio station 126 with classic rock songs. To accomplish this,subscriber A 112 can purchase subscriptions to broadcast contemporarycountry music during the Monday afternoon drive on local HD radiostation 122, and purchase a subscription to broadcast classic rock onlocal radio station 126 during the same timeframe. Subscriber A 112 canpurchase the subscriptions from either schedule subscription service A104 or schedule subscription service B 106, as desired and available.

When subscriber A 112 is ready to generate a log for its local radiostations, a scheduling system used by subscriber A 112 can generate arequest to be sent to schedule subscription services 104 and/or 106 vianetwork 114. In response, schedule subscription services 104 and/or 106can send the requested logs to the scheduling system used by subscriberA 112, which populates the afternoon drive daypart of the clocks usedfor local HD radio station 122 and local radio station 126 withspecifically identified content items. Populating the afternoon drivedaypart of the local clocks using specifically identified items from anational log can provide superior scheduling control, as compared totechniques in which clock position scheduled according to a subscriptionare simply marked as scheduled, without any indication of the particularitem to be inserted into each particular clock position.

In some embodiments, schedule subscription system 100 may providevarying levels of access, or access controls, for subscribers. Forexample, one or more of the clock positions in the afternoon driveschedule for local HD radio station 122 and local radio station 126 canbe locked from editing, or have editing allowed, based on a subscriptionlevel, a trust level, digital rights management (DRM) considerations,licensing factors, user preferences, or other factors. In someembodiments, clock positions for which editing is permitted, may belimited to edits that include items selected from a particular database,genre, subscription category, or other pool of permissible contentitems. In some instances the other pool of permissible content items mayinclude a list of other media items supplied by a schedule subscriptionservice, or local items selected according to various criteria relatedto mood, energy, tempo, sound code, category, or texture, which refersto the way melodic, rhythmic, and harmonic materials are combined.

Using the national log obtained from a schedule subscription service tofill a daypart of a local clock leaves the remaining dayparts availableto be filled with locally selected content items. Note that in thisinstance, content items are distinguished from commercials, alsoreferred to as spots, which in many cases are not provided by schedulesubscription services in their national logs, and corresponding spotblocks in a clock corresponding to the national log are usually left tobe filled locally. Filling dayparts of the local clock not filled by anational log from schedule subscription service A 104 and/or schedulesubscription service B 106, can be accomplished automatically usinginformation stored in data storage 150, 152, 154, or 156, manually, orusing a combination of automated and manual techniques.

The actual media items broadcast via the local stations can be obtainedby subscribers, or directly by the local radio stations themselves. Insome cases, subscribers 108, 110, and/or 112 can obtain media items fromassociated databases 150, 152, and/or 154, or from a third-party mediaprovider 116 and its associated datastore 156. In some embodiments,subscribers 108, 110, and 112 may use a schedule management service 102to provide local station scheduling services. Schedule managementservice 102 can be used in place of, or in addition to, a localscheduling system to generate local clocks, local logs, and to performother scheduling services.

In some instances, subscriber A 112, subscriber B 110, or subscriber C108 can contact schedule management service 102 to determine whichschedule subscription service, schedule subscription service B 106 orschedule subscription service A 104, has a desired schedule available.For example, schedule subscription service A 104 may have a Wednesdaymorning drive log available, but may not have a desired Wednesday middaylog. In that case, schedule management service 102 can provide asubscriber with the information necessary to obtain the desiredsubscription. The information can include but is not limited to Internetlinks, addresses, e-mail addresses or other contact information,subscription information, performance information, and pricinginformation. In some embodiments, subscribers may communicate directlywith, or be directly linked to, one or more schedule subscriptionservices.

Regardless of whether a subscriber obtains a national log from aschedule subscription service directly, or via schedule managementservice 102, various embodiments allow a subscriber to insert, into itslocal clock, information from multiple different national logs obtainedfrom different schedules subscription services, or other sources. Thus,subscriber C 108 can essentially fill a local clock for local FM radiostation 144 with multiple different national logs, some of which areobtained from schedule subscription service A 104, and some of which areobtained from schedule subscription service B 106. In some embodiments,one or more subscribers can fill a local clock with multiple differentlogs obtained from one or more other subscribers. For example,subscriber B 110 may share log information directly with subscriber C108, via database 150, so that each subscriber can fill their localclocks with content from the other subscriber.

Conditions for using a particular log may include restrictionsassociated with using logs from other providers, or even logs from thesame provider but different genres, groups, or types. In this way,schedule subscription service can more readily ensure that there is noconflict between songs or other media items included in adjacentdayparts in a single local log. In some instances, these restrictionscan be enforced more easily through use of a schedule management service102, but use of a particular schedule management service is notrequired.

In some instances, use of a particular schedule management applicationis not required, while in other embodiments national logs may beprovided only to subscribers using scheduling software and systems thatmeet certain security requirements, and are capable of enforcing variouslocking mechanisms that can be used to prevent unauthorized changes tonational logs provided by schedule subscription services 104 and/or 106.In some instances logs can be provided to a scheduling system only afterthe scheduling system passes authentication checks. Note, that althoughsubscriptions are discussed in conjunction with obtaining national logs,in some instances providers of national logs do not requiresubscriptions, and national logs can be distributed to one or moresubscribers based on registration information, information included in arequest for a log, or the like.

Referring next to FIG. 2, a schedule subscription server 210 isillustrated according to various embodiments of the present disclosure.In some embodiments, a schedule subscription server 210 may be includedin, or attached to, schedule subscription service B 106 and/or schedulesubscription service C 108 in FIG. 1. Schedule subscription server 210may include processing circuitry 220, memory 230, and communicationsinterface 260. Processing circuitry 220 may include log generationmodule 224, clock generation module 226, and subscription verificationmodule 228. Memory 230 can be used to store: subscription information232, which may include truss parameters 248, formats 250, subscribers252, and/or dayparts 254; subscriber information 234, which may includetrust levels 242, subscriptions 244, and/or stations 246; audit trailinformation 236; clocks 238; and/or logs 240. Communications interface260 can be configured to communicate, via a communications network (notshown in FIG. 2), with external schedule management system 274,subscribers 272, schedule management system 274, and data store 276. Insome embodiments, the communications network may be similar to network114 described in FIG. 1.

Log generation module 224 can be used to generate national logs to beprovided to an external schedule subscription system 270 and subscribers272. Clock generation module 226 can be used to generate nationalclocks, which may serve as the basis for the logs generated by loggeneration module 224. Both logs and clocks can be generated in advance,and stored in memory 230 to be provided to subscribers 272 upon request,or on a recurring basis. In some embodiments, clock generation module226 and log generation module 224 generate logs in response to receivinga request from either a subscriber 272, or a schedule management system274. In some instances, the clock generation module 226 and loggeneration module 224 operate on an iterative basis, so that clockgeneration module 226 generates an initial national clock, and as thepositions in clock generation module 226 are filled with specificcontent items by log generation module 224, clock generation module 226can adjust the length of one or more clock positions based on actualitems selected for inclusion by log generation module 224.

Subscription verification module 228 can be used to verify that asubscriber 272 requesting a particular log, or a particular schedulingapplication or scheduling device used by subscriber 272, is authorizedto receive the requested log. In some instances, subscriptionverification module 228 can also be used to verify the securityparameters associated with scheduling device meet at least a minimumhardware and/or software security requirement.

Log generation module 224 and clock generation module 226 mayindividually, or in cooperation with each other, lock particular contentitems included in a national log, or particular clock positions. Whetheror not a lock is to be set for particular content items or clockpositions, can be determined by log generation module 224 and clockgeneration module 226 based on the subscription information 232 andsubscriber information 234. For example, subscription information 232may include trust parameters 248 that are required before any subscriberto a particular type of subscription, for example morning drivetime logsin the Alternative Rock format, is allowed to perform any editingwhatsoever. Thus, in this example trust parameters 248 may indicate thata subscriber with a trust level of two or better can make changes tospecified media items or clock positions. This type of editing lock canbe determined in advance of any particular request, and can be stored inclocks 238 in conjunction with a clock generated by clock module 226, orin logs 240 in conjunction with a log generated by log generation module224.

Information about formats associated with a particular subscription canbe stored in formats 250, and information about dayparts associated witha particular subscription can be stored in dayparts 254. This formatinformation can be used by log generation module 224 and clockgeneration module 226 to determine whether a particular content item issuitable for inclusion in a national log or clock. Consider asubscription to an easy listening format log to be played during anovernight weekend daypart. The subscription information associated withthis log can include a format identifier stored in formats 250, whichcan indicate that the subscription is for an easy listening format; anda daypart identifier stored in dayparts 254, which can indicate that thesubscription was for use in a weekday overnight daypart.

In some embodiments a particular subscription may be valid for more thanone format or valid for more than one daypart. In that case, formats 250could indicate that the particular subscription could be provided, forexample, in response to easy listening requests for a Monday, Wednesday,or Thursday overnight daypart, and for any time on Sunday, while thesame subscription could also be provided in response to a request for an“oldies” format on Tuesdays or Fridays for the midday daypart. Theidentity of each subscriber subscribing to a particular subscription canalso be stored in subscribers 252, so that a subscriber can be notifiedwhen any changes made to a particular log are made.

Subscriber information 234 can include trust levels 242 associated witheach subscription held by a particular subscriber, a listing ofsubscriptions 244 associated with a subscriber, and station informationidentifying which broadcast stations are associated with a particularsubscriber. Subscriber information 234 can be used by the subscriptionverification module 228 to authenticate a subscriber 272 and determinewhether the subscriber 272 has a valid subscription for the requestedlog. Log generation module 224, clock generation module 226, andsubscription verification module 228 can also use the subscriberinformation 234 and the subscription information 232 to determinewhether one or more clock positions or log items are editable by thesubscriber. In some embodiments, the subscriber may be permitted to edita log for one station, but not edit the very same log for use in adifferent station. Using station information 246 can assist processingcircuitry 220 in making the locked/editable decision.

A particular log can be locked completely from editing, or differentlevels of locking can be applied. For example, a trust level one lockauthorization, which in at least one embodiment allows maximum editing,may allow a subscriber to edit three different clock positions, and toreplace content in any of those three clock positions with contentselected from a database of content items have a maximum selection. Inthe same example, a level four trust level lock authorization mayindicate that no editing can be performed. An intermediate trust levellock authorization may indicate that fewer positions can be edited, thatfewer choices for replacement content are available, or both. Variouslock levels can also be used to restrict or allow addition of extraclock positions, and movement of clock positions.

Setting lock levels on content and clock positions can be performed eachtime a request is received, or based on pre-stored locking criteria.Regardless of when lock levels are set, they can be determined, forexample, on a subscriber basis, on a station basis, on asubscriber/station basis, on a volume basis, on a timing basis, on asubscription basis, or on a content basis. In some instances, storedlock levels can be overridden based on subscriber information 234,subscription information 232, audit trail information 236, or in somecases manually. Subscription information can also include informationregarding when a particular subscription is scheduled to start or end,thus allowing temporary access to logs, and temporary override of atrust level or an associated lock level.

Referring next to FIG. 3, a method 300 is illustrated and discussedaccording to various embodiments of the disclosure. As illustrated byblock 302 a schedule subscription service generates and stores medialogs. Some media logs can be specifically designed for particular localmarkets, subscribers, or stations, while others are less specificallytailored, and are more generally created for use in widely disparatesituations. In some instances, national media logs are created in avariety of formats, and each log can be used in any daypart, by anyauthorized local station requesting one of the logs. Some national logscan be restricted for use in specified hours, days or dayparts, orrestricted to use by subscribers having a specified minimum trust level.Some national logs can have partial restrictions on use for onesubscriber, market, or station, but be unrestricted for others.

The restrictions can be stored in conjunction with the national logs, ordetermined upon receipt of a request for a national log. In at leastsome embodiments, the restrictions can be delivery restrictions, userestrictions, or editing restrictions. Time restrictions can also beplaced on the national logs in place of or in addition to other types ofrestrictions. For example, a time restriction may prevent a log frombeing delivered except within a specific time window, or prevent anational log from being delivered after or before a time threshold. Timerestrictions can also be used to restrict use or editing rights. So, forexample, even if a national log is delivered to a local schedulingsystem, use or editing of the log can be prevented after or before aspecified time. In some instances, time restrictions can allow the logto be entered in a local clock for viewing, but generation of local logwill not occur, or will not include the content included in the nationallog, until the time restriction is satisfied. Time restrictions can alsobe relative, so that generation of a local clock including the nationalcontent can be inhibited if another log has been generated using thesame national log within a threshold period of time. Various differentrestrictions can be combined to achieve desired results.

As illustrated at block 304, a request for a national log can bereceived at a scheduling subscription service. The request can begenerated by a local scheduling application running on a localscheduling server. The request can include a request for a singlenational log for a single station, a request for multiple national logsfor a single station, a request for multiple national logs for multipledifferent stations, or some combination thereof. The request may alsoinclude a request to generate a national log if a desired national loghas not been previously generated. In some embodiments, the request canbe an update request, asking a scheduling subscription service to updatea previously delivered national log.

In some instances the request can also include an edit request. An editrequest can be used to request a change to the log by a local schedulingsystem without authority to edit a particular log or clock position inthe log. In some instances the edit request can take the form of anerror notification from a local scheduling system that alerts thescheduling subscription service of an error in the national log. Theerror can be, for example, an error in identification of a particularmedia item, a misscheduled media item, or a misapplied edit lock.

As illustrated by block 306, a check can be made to determine whetherthe subscription status associated with the request allows delivery ofthe national log, as requested. Determining the subscription status caninclude, but is not limited to, verifying that a particularsubscriber/station combination is authorized to receive the nationallog. In some cases, authorization to receive the log can be determinedbased on a subscription status associated with the requestor, a trustlevel associated with the requestor, a trust or security levelassociated with the local scheduling system or software that will beusing the national log, a trust level associated with one or morestations, a subscription expiration date, or a subscription start date.

If it is determined at block 306 that delivery of the log is notallowed, a notification can be sent to the requestor, as illustrated byblock 308. The notification can include various information includinginformation about necessary corrective actions to change thesubscription status so that access to the log will be allowed, anexplanation of what national logs are available according to therequestor's subscription, and indication of actions that can be taken toincrease the trust level of the requesting scheduling system, or othersimilar corrective actions.

As illustrated by block 310, if delivery of the requested log ispermitted, the change or edit authorization levels can be determined andset. In some embodiments, the change authorization levels can bedetermined by reading pre-determined change authorization levels frommemory, and in others the change authorization levels can be determinedand set by processing various subscriber and subscription informationduring the process of providing the requested log. In some instances,the change authorization levels can be set and stored prior to receivingthe request. For example, if the request is a recurring request, thechange authorization levels may be set during servicing of an initialrequest, and then re-used during subsequent requests. In someembodiments, the change authorization levels can be set upon generationof the log, and overridden as necessary during processing of a logrequest. As illustrated by block 312, after the change authorizationlevels are set, the national log can be transmitted to the requestor.

Referring next to FIG. 4, a method 400, in which a local log is uploadedand then distributed as a national log, is discussed according tovarious embodiments. As illustrated at block 402, a subscriber sends alocally generated log to a national scheduling service. The log can begenerated by a scheduling application used to generate broadcast logsfor one or more local stations. The locally generated log can includelocal content, or a combination of local content and national contentoriginally obtained from the national scheduling service. Thus, in someinstances, a local scheduling system can request and receive a nationallog for a daypart, make allowed edits to that daypart, and send thealtered log back to the national scheduling service. In otherembodiments, the local log includes all locally scheduled content. Asshown by blocks 404 and 406, the national scheduling service receivesand verifies the local log. Verification of the log can include checkingfor internal inconsistencies, checking for compliance with DRMrequirements, timing, proper formatting, and other schedule generationparameters.

As illustrated at block 408, a decision can be made about whether toapprove the local log for national distribution. The decision caninclude evaluating anticipated appeal to a wide variety of audiences,suitability for particular formats, suitability for broadcast duringparticular dayparts, a trust level of the subscriber transmitting thelog, a subscription status of the subscriber, evaluation of performancemetrics associated with prior use of the local log on local stations ortest stations, success of logs previously submitted by the subscriber,differences and similarities between the submitted log and othernational logs already generated or submitted by other subscribers, costsof obtaining scheduled media items, or compliance with schedulegeneration best practices.

If the log is not approved at block 408, method 400 ends. As illustratedby block 410, however, if the log is approved for national distributionat block 408, a national log can be generated from the local log. Insome instances, this can include generation of a national clockincluding the clock positions to be filled by items listed in theformerly local log. In many cases, generating the national log includessetting appropriate daypart, format, trust levels, and subscriptionparameters, and setting distribution, editing, and use restrictions, ina manner similar to that used for national logs originating from thenational scheduling service. In some embodiments, a nation log that iscreated from a local log may allow all clock positions to be edited,even subscribers or stations having a minimal trust level with respectto other national logs. Some such logs can be provided as-is, and mayeven be provided to non-subscribers for use during less desirabledayparts as part of a promotional effort.

As illustrated at block 412, the newly generated national log is storedfor later distribution, along with appropriate parameters, lock levels,and other information. Access to the national logs generated accordingto method 400 can be later provided in a manner similar to the manner inwhich access is provided to national logs originating with the nationalscheduling service.

Referring next to FIG. 5, a method 500 is illustrated and discussedaccording to various embodiments. As illustrated at block 502, a localscheduling system can transmit, to a schedule subscription service, arequest for a national log for use in scheduling any portion of abroadcast, including for example, a desired daypart for a localbroadcast. The request can include information identifying a requestor,a requesting system, a subscription identifier, a desired format, adesired daypart, a password, or the like. In some instances, the requestcan be sent to a third party, such as a schedule management service,which acts as a proxy for the local scheduling system.

As also illustrated by block 502, the schedule subscription system, canrespond to the request by providing the requested log to the localscheduling system, or to the schedule management service acting onbehalf of the local scheduling system. In some embodiments, the localscheduling system can obtain the national log without first sending arequest, for example when national logs are pushed to the localscheduling service on a recurring or one-time basis. In someembodiments, national logs are automatically downloaded into a localscheduling system periodically, or under the following conditions: whenthe local scheduling system is attempting to schedule a date having atleast one completely unscheduled hour; when the local scheduling systementers an editing screen on a date having at least one completelyunscheduled hour; when integrating traffic on a date having at least onecompletely unscheduled hour; or when a local scheduling system imports aschedule into a date having at least one completely unscheduled hour.

As illustrated at block 504, once the national log has been obtained,the national log can be incorporated into the corresponding clockpositions of a local clock used to generate a local broadcast log. Insome embodiments, including but not limited to embodiments in which thenational logs are periodically pushed to the local scheduling system,rather than requested, a decision (not illustrated) can be made todetermine whether or not the national log is to be incorporated into oneor more local logs. The national log can be automatically incorporatedinto the local clock by the scheduling system, and can includeinformation about a media item from the national log inserted into eachlocal clock position.

As illustrated by block 506, method 500 can continue to obtain andincorporate national logs into various dayparts of the local clock,until there are not more national logs to be used in the local schedule.As shown by block 508, once all of the national logs to be used havebeen obtained and incorporated into the local clock, a check can be madeto determine editable clock positions. Information about which clockpositions in national-log dayparts are editable, if any, can be includedin the national logs themselves. A determination of editable clockpositions can also be made each time a clock position is selected forediting, or periodically by requesting separate edit lock instructionsfrom a source of the national log.

As illustrated by block 510, the local scheduling system can display allor a portion of a local clock that shows each clock position filled bynational log, including an identifier of the media item used to filleach position. In addition to displaying the media item included in eachclock position, the local scheduling system can also display indicatorsthat denote which clock positions are editable, if any, and which clockpositions can be changed. In some embodiments, an indication of a trustlevel can also be displayed. The trust level can be associated with thesubscriber, local scheduling system, station, national log, or anycombination of these. In various embodiments, the entire local clock canbe displayed, including empty clock positions and dayparts that have notyet been filled using the national logs. In other embodiments, only thedayparts corresponding to the national logs are displayed, while inothers particular dayparts and immediately preceding and subsequentunfilled clock positions are displayed.

As illustrated by block 512, a user may desire to edit one or more ofthe clock positions filled by the national log, and select the clockposition for editing. In some instances, editing of the selected clockposition may be completely locked for a particular subscriber/stationcombination, subscriber, local scheduling system, or log. In others, thelock may be partial, allowing insertion of only approved media items inparticular clock positions. In some such instances, a drop down menu ofapproved replacement items can be displayed, and the local schedulingsystem can receive user input indicating which of the approved items isto be used.

In some embodiments, upon receiving the user input indicating selectionof a particular clock position for editing, the scheduling system canobtain information from the national log indicating a data source ofapproved replacement content, and either automatically select a mosthighly rated replacement item, or obtain a list of replacement itemsfrom the indicated source and display the items to the user forselection.

In cases where adjacent clock positions permit, or where a clockposition is located adjacent to a locally scheduled position, authorizedsubscribers can be allowed to change the time allotted to one or moreclock positions, which can permit selection of media items havingdifferent lengths than the length of the originally scheduled mediaitem. For example, if two adjacent, editable clock positions are 1.5minutes each, rather than being required to choose replacement itemsfrom a list including only 1.5 minute long media items, one media itemhaving a length of 1.2 minutes and another media item having a length of1.8 minutes can be selected. For editable media items at the beginningor end of a daypart, the position in the local clock immediately beforeor after the editable clock position can be adjusted to account for thedifference between a replacement item having a different length than theitem in the national log.

When replacement categories, rather than specific replacement items aredisplayed, the categories of eligible replacement items can be based onformat, status as a premium item, subscription level, trust level,market, station, or combinations of these. For example, a highly trustedsubscriber may be allowed to select from a larger number of categoriesthan a less trusted subscriber, but both more trusted and less trusted,subscribers may be limited to selecting replacement items from a limitednumber of formats, selecting items with particular tempos, andprohibited from selecting premium items absent a required subscriptionlevel.

As illustrated by block 516, user selected replacement items, or localcontent items to be placed into unscheduled clock positions, areinserted into the clock. Once it has been determined, as illustrated byblock 518, that there are not more clock positions to be scheduled, alocal log can be generated from the local clock at block 520.

Referring next to FIGS. 6-19, various screens displayed by a schedulesubscription system will be discussed according to various embodimentsof the present disclosure. In some embodiments, the screens may bedisplayed inside a web browser, such as internet explorer, Mozilla,Opera, or any other browser. In other embodiments, the screens may notbe associated with a web browser and may display information independentfrom such web browsers, such as an application, a widget, or some othermeans for displaying information outside of w web browser.

FIG. 6 illustrates a screen used by a schedule subscription system todisplay national logs obtained from various publishers. For example,publisher's pane 605 may show publishers and their Internet addresses(e.g., their IP addresses). In other embodiments, publisher's pane mayinclude other contact information for publishers, such as an emailaddress, telephone number, physical address, or other means forcontacting or describing the location of one or more publisher. Log pane607 may show national logs that are available from that publisher. Thenational logs can be downloaded from the publishers and stored in bulkby a schedule subscription system, or the schedule subscription systemmay store links, or pointers, to the available logs stored by thepublisher, rather than storing the logs themselves. When storing onlythe links, the various edit locks, subscription and subscriberinformation, and the like can be stored in conjunction with the links.In some embodiments, log pane 607 may display links or pointers to theavailable logs stored by the publisher, edit locks, subscription andsubscriber information, and/or any other information related to theavailable logs from the associated publisher.

FIG. 7 illustrates a subscription screen used to define national logsubscriptions for individual local subscribers and stations. A list oflocal subscribers and stations can be presented in subscriber pane 703,and subscription mapping pane 705 can display which hours of each dayare covered by subscriptions to a particular national log correspondingto the subscriber selected in subscriber pane 703. The subscriptionsmapped in subscription mapping pane 705 can be determined by the formatselected in format selection area 709, which in this case is AC-HOT AC.

Description pane 707 displays a description of the national logassociated with the selected hour, which is highlighted in FIG. 7, insubscription mapping pane 705. In the illustrated embodiment, any givenday and hour for an individual subscriber can hold a subscription, whichspecifies that a national log of a given format should be delivered tothat subscriber for broadcast on that hour of that day. The same ordifferent subscription can be applied to multiple hours throughout theweek. Thus, a subscription is not an array of days and hours, but ratheran attribute of a single hour and day. Also any day and hour can containmore than one subscription. The description can include a trust level,the selected format, and a start and end date associated with thesubscription.

In some embodiments, subscriptions are configured to have a timeincrement other than 1 hour. For example, a single subscription cancover an entire daypart, multiple hour increments, fractions of hours,or even a daily or weekly subscription. In some such embodiments,subscriptions having different time increments can be used together toform, for example, a subscription block of 1.5 hours. In another examplea subscription having a time increment of 1.5 hours can be used inconjunction with a subscription having a time increment of 30 minutes,thereby allowing a local log of 2 hours to be generated.

The trust level shown in description pane 707 can, in some embodiments,be assigned by a national log provider, and used to control how thenational logs are permitted to be edited by the subscriber. In at leastone embodiment, no Trust is the lowest level, and when applied to asubscription the national logs will not be editable by the subscriber.Trust Level 1 can be used to indicate the lowest degree of trust whileTrust Level 9 can be used to indicate the highest. Trust Level 2 throughTrust Level 8 fall in between, and each higher number indicates agreater level of trust than each lower number. Note that other trustlevels can be used, including non-numeric trust levels, and trust levelschemas in which Trust Level 1 is the highest, and Trust Level 10 is thelowest.

In some embodiments, the trust level can be associated with the locklevel. For example, the trust level for a subscription can work intandem with a lock level, which may be specified for each clock positionin a national log. When a clock is used to schedule, each Lock Level inthe clock may be inherited by the corresponding position in theschedule. In this example, the lock level of a clock or scheduleposition can be set to Locked, which means it may not be edited by anySubscriber, or it can be set to a value between 1 and 9. In otherembodiments, the same lock level may be associated with several trustlevels, or vice versa.

FIG. 8 shows an example of the subscription screen illustrated in FIG.7. Subscriber KBGO-FMFM/HD1 is selected in subscriber pane 803. Becausethe format selection 809 indicates unselected, subscriptions for thisparticular subscriber are mapped, for all formats. In other embodiments,however, format selection 809 may allow the user to select allsubscriptions for the selected subscriber. Subscription mapping pane 805shows a 1 in the 12 PM through 5 PM hours of Sunday. The 1 can indicatethat each day and hour has one subscription. The subscriptioninformation shown in description pane 807 corresponds to the selectedcell or cells in subscription mapping pane 805. In this example, thesubscription details for only the 12 PM hour are displayed indescription pane 807, since that is the selected cell.

FIG. 9 shows an example of the subscription screen illustrated in FIG.8, except that each hour for which the subscriber, highlighted insubscriber pane 903, has a subscription is highlighted in subscriptionmapping pane 905. Description pane 907 shows a single entry, whichindicates that each selected hour has an identically definedsubscription. Note that this example shows six identical subscriptions,so there is only one subscription description to be displayed indescription pane 907.

In at least one embodiment, when there is a multiple selection of daysand hours, the right pane shows only those subscriptions that are commonto the selected days and hours. Thus, if any of the six selectedelements in subscription mapping pane 905 is different from any of theothers, description pane 907 may be blank. In some embodiments, otherpresentation formats can be used. For example, in some embodiments,description pane 907 may display all of the subscriptions that arehighlighted in the mapping pane 905. In such an embodiment, thedescription pane 907 may group the description of the subscriptions inaccordance with common trust levels, formats or some other commonparameter.

In some embodiments, supplemental information may be displayed tofurther describe any of the displayed components. FIG. 10 shows anexample of fly-out text 1003 that can be displayed when a cursor hoversover a particular item. Note that in at least one embodiment, even ifdescription pane 1005 is blank because the selected items insubscription mapping pane 1007 are not identical subscriptions, fly-outtext 1003 can be used to display information about any one particularitem in subscription mapping pane 1007, or any other pane. In otherembodiments, fly-out text 1003 may be activated by pressing a certainkey, or combination of keys, on the keyboard or mouse when a componentis highlighted.

FIG. 11 illustrates a subscription screen in which a subscriber selectedin subscriber pane 1103 has two identical subscriptions in each ofSunday hours from 12:00 PM to 5:00 PM. The six hour/day combinationshighlighted in subscription mapping pane 1105 show the number 2, whichindicates that there are two subscriptions for each highlighted day/hourcombination. Note that two subscription descriptions are displayed indescription pane 1107.

Description 1109 shows Adult Hits—Classic Hits as the Format, anddisplays an End Date of Aug. 14, 2011 at 11:00 PM. Description 1113shows AC—Mainstream as the Format, with a Start Date of Aug. 15, 2011 at12:00 AM. In this example the format of the selected days and hours onthe subscribing station will change as of Midnight on August 15. In someembodiments, any day and hour can have multiple subscriptions providedthere is no date/time overlap among them. In at least one embodiment,conflicts are automatically detected, and the user is alerted to theconflict. In some embodiments, the user will be prevented from creatingconflicting subscriptions.

In some embodiments additional types of conflicts can be detected orprevented. For example, if a national log includes a parameter thatprohibits placement adjacent to another national log, whether forreasons relating to media royalties or programming constraints imposedby a subscriber, publisher, or simply based on current best practices, asubscription system can prevent generation of a subscription orplacement of the subscription adjacent to the prohibited log.

FIGS. 12 and 13 illustrate how selection of different formats can affectthe information displayed in a subscription manager screen. In FIG. 12,for example, format selection 1209 indicates Rock-Alternative, andsubscriptions shown in subscriber mapping pane 1205 for the selectedsubscriber in subscriber pane 1203 indicates six Rock-Alternativesubscriptions on Saturday, from 12 AM to 5 AM. The description of theRock-Alternative subscription is shown in description pane 1207. In FIG.13, format selection 1309 is set to Rock-Classic Rock 80s, andsubscription pane 1305 shows the subscription in six hour/daycombinations on Sunday, from 12 AM to 6 AM, and description pane 1307shows the description corresponding to the rock-Classic Rock 80s format.Note that the subscriptions referred to above are subscriptions tonational logs for dayparts that include the highlighted hour/daycombinations.

Referring next to FIG. 14, a scheduler window can be used in someembodiments to ensure that national logs are not downloaded to asubscriber before any necessary editing has taken place, and the logshave been approved. Note that the “Unscheduled” button has beenselected, so that unscheduled time and date combinations can be easilyidentified. Blank fields indicate unscheduled dates and times; dates andtimes showing an “N” indicate that scheduling is in progress; andhighlighted dates and times, indicate that corresponding logs havealready been scheduled.

Note that in the illustrated embodiment, the dates from Dec. 5, 2011through Dec. 11, 2011 are highlighted, indicating that scheduling of theNational logs for those times and dates has been finalized, and thefinalized logs are locked. In some embodiments, a National Log must belocked before being made available for distribution to localsubscribers.

The “N” shown in the table for dates Dec. 12, 2011 through Dec. 18, 2011indicate that logs for the corresponding dates and times are in theprocess of being scheduled, and may be completely scheduled but notfinalized or locked. National logs for these dates may still be editedand will not be available for downloading to subscribers until theirstatus changes to locked.

Referring next to FIG. 15, a lock options management screen isillustrated and discussed. The screen illustrated in FIG. 15 includesvarious user selectable objects that allow setting lock options,including name field 1501, Don't Copy Options field 1503, parent formatselection menu 1505, and a number of radio buttons that allow settingIgnore, Copy, and Inherit attributes based on category group, daypart,packet, mood, energy, tempo opener, texture, or sound code.

Some formats are implemented using a parent feature, which allowscreation of variants of a primary schedule. An example is the ClassicRock format, in which the main thrust of the music is 70s-based, but thevariant format has more of an 80's flavor. The 70s-based format can bescheduled for a Parent station, while the 80's-flavored variant ismanaged in a child station of the 70's Parent.

In some embodiments, if the Don't Copy attribute is set on one or moreclock positions, then later, during scheduling, the Don't Copy attributeis inherited by the associated position in the schedule, or log. In FIG.15, several of the 70's positions in the clocks of the Parent stationare set to Don't Copy. After scheduling in the Parent station, schedulesare copied into the 80's Child station. The Don't Copy positions areskipped during the copy process, leaving unscheduled positions in theChild station. Scheduling then takes place in the Child, where theunscheduled positions are filled with 80's songs, thus creating an80's-flavored variant of the original 70's schedule.

The Don't Copy positions for a national log used in the Parent stationshould be locked into place, and all clock positions except the Don'tCopy positions in the Child station, should be locked into place anddisabled for editing. The Don't Copy options can be set using Don't CopyOption field 1503, and the options can include, but are not limited to,the following: None, which is the option that should be selected for theparent station, so that clock positions in the national log will becopied to the parent station's clock (note that content of a clockposition can also be locked in some embodiments); LockDontCopyPositions,which will allow changing the contents of the Don't Copy positions inthe editor of the parent station, but will disallow any editing actionthat will change the location of the position; andLockAllExceptDontCopyPositions, which will disallow changing thecontents or location of all positions except the Don't Copy positions inthe editor of the child station.

FIG. 16 illustrates a screen used to assign lock levels to the elementsof a national log. Note that the item in clock positions 6 and 11 aremarked with the Don't Copy attribute, as discussed above. Somepositions, for example positions 1, 3, 4, 5, 6, and numerous others arecompletely locked for editing. Other positions, for example positions 2and 20 are only partially locked for editing by assigning them locklevel 2. Lock level 2 can correspond directly to a trust level of asubscriber, station, or system, such that a trust level of 2 equals alock level of 2. In other embodiments, lock level 2 may be more complex,indicating that a subscriber with a trust level in a specified range ispermitted to perform a specified level of editing of the clock position,using a specified range of replacement items. Thus, for example, locklevel 2 may allow any subscriber with a trust level of 1-4 to edit thecontents of the clock position by replacing the contents with an itemselected from one of two different format categories. Other lock levelscan likewise be used to set desired editing restrictions.

Referring next to FIG. 17, a scheduling window displaying local clockinformation is illustrated and discussed according to variousembodiments of the disclosure. In some embodiments, the window isdivided into three panes: clock list pane 1703; plot pane 1705; andlocal clock pane 1707. Clock list pane 1703 can display a list of clocksinto which the national logs are to be inserted. When the “plus” sign tothe left of a listed clock is selected, an expanded list of dates andhours in which the clock has been scheduled can be displayed, asillustrated in FIG. 18.

Referring again to FIG. 17, plot pane 1705 can show, depending on whichoptions are selected, a plot representing a date and hour plot of theclock currently selected in clock list pane 1703, a date and hour plotof all clocks used throughout the date range, or another type of graphrepresenting information associated with national logs/clocks used togenerate local logs/clocks.

Referring briefly to FIG. 19, an example of another type of graph thatcan be displayed in plot pane 1705 is illustrated. FIG. 19 displays agraphical representation of the clock selected in clock list pane 1703.In some embodiments, the positions for which local editing is permittedare shown as “exploded” slices 1905 in the pie chart. All otherpositions can be represented as graphic slices with widthsproportionally adjusted to match the average runtime of each associatedclock position.

Referring again to FIG. 17, local clock pane 1707 displays a local clockwith national log entries corresponding to the national log/clockselected in clock list pane 1703 already incorporated. Most of thepositions in local clock pane 1707 are locked, as indicated by the lockicons to the left of each clock position. The locked positions areinert, meaning they may not be deleted, moved or modified in any way. Inat least some embodiments, insertion of an extra position into the clockis prohibited. Other positions, namely the fourth from the top and thesecond from the bottom in our example, are lighter in color. These maybe edited. Other lock indications, for example coloring of locked orunlocked positions, can be used in place of or in addition to the lockicons to indicate locked or unlocked positions.

Some embodiments require selecting a local category group for each ofthe editable positions. Media items from the category group selected canbe displayed when replacing an editable position in a national log. Insome instances other category groups can be selected for replacementsuggestions. The category group chosen here can be designated as thedefault when filling unscheduled, editable positions in other nationallogs. In addition to selecting the category group of media items, thefollowing can also be changed for each editable position: Chain; Goal;Constraint; Droppable; and Info.

In some embodiments, each time the scheduling window is accessed,national clock/log information is pulled from a subscription schedulesystem to ensure the local scheduling system is using the very latestclocks/logs. In some embodiments, a Refresh Clocks button is provided onthe toolbar.

FIGS. 1-19, discussed above, discuss generally systems and methods inwhich a schedule subscription service provides a master log to a localscheduler, with the master log having some positions or media itemsmarked as modifiable, and others not marked non-modifiable. The localscheduler can generate a local log based on a master log, but with someof the media items in the master log being replaced with different mediaitems. In some embodiments, as discussed further with reference to FIGS.20-25, a single master log, or schedule can be used as the basis formultiple different local logs, or target schedules, where each of thedifferent target schedules can have a different media item inserted inplace of a single media item in the master log.

In the upcoming discussion of FIGS. 20-25, the following terms should beconsidered to have particular meanings, as indicated here. The term“master schedule,” is used to refer to a schedule that is used as abasis for generating target schedules or local schedules. In someinstances, a master schedule can be limited to a particular daypart, oreven a particular program, and can specify media items to be broadcastduring particular time periods of the daypart, or during particularportions of a particular program. For example, a live, morning,drive-time show can include a portion during which a personality isperforming live, and portions during which the personality plays mediaitems. A schedule of the live morning broadcast show can be consideredto be the “master schedule,” or the overall schedule for the morningdrive time can be considered to be the master schedule.

The term “target schedule” is used to refer to a local or specialtybroadcast schedule associated with a particular station which often, butnot necessarily, broadcasts or plays media items of a specific genre ortype, or which plays media items selected to appeal to a particulardemographic profile. An “80's rock” radio station, a local radio stationin San Antonio, Tex., and a “modern alternative music” radio station areexamples of target stations.

The term “replacement media item” is used to convey the concept that amedia item scheduled in a particular time slot of a target schedule isdifferent from, or has replaced for purposes of the target schedule, themedia item scheduled in a corresponding time slot of the master schedulefrom which the target schedule is generated. The replacement media itemcan be a song, a snippet of a previous or upcoming broadcast, andadvertisement, or another suitable media file. In some embodiments, onetype of media item can be replaced by another type of media item, forexample a song can be replaced by an advertisement, or an advertisementcan be replaced with a snippet of a previous broadcast.

Referring next to FIG. 20, a block diagram of a media balancer system2000 will be discussed according to various embodiments of the presentdisclosure. System 2000 can be implemented as part of a media schedulingsystem or service; as part of a schedule subscription server; as part ofa media provider's system; or as a standalone device, server, orservice. Although discussed herein in terms of a music scheduling systemused for terrestrial and Internet radio broadcasts, the concepts andtechniques disclosed herein can also be applied to other media types andsystems, including television, visual media, and multi-media broadcasts.

In some embodiments, media balancer system 2000 may include mediabalancer 2010; media scheduler A 2040; media scheduler B 2050; and userinterface 2020, which can be used to obtain various options or optionparameters used by media balancer 2010. In some embodiments, less thantwo media schedulers may be utilized; in other embodiments, more thantwo media schedulers may be utilized. In some embodiments, the optionsor option parameters may include server selection 2021, master scheduleselection 2022, target schedule selection 2023, start/end parameters2024, filler option 2025, score threshold 2026, duration threshold 2027,list length 2028, and/or allow same artist parameter 2029.

In some embodiments of operation, media balancer 2010 works incooperation with one or more media scheduling systems or services, suchas media scheduler A 2040 and media scheduler B 2050, to select one ormore potential replacement media items for inclusion in the targetschedule in place of a corresponding media item specified by a masterschedule. For example, a master schedule can be a live show to bebroadcast on multiple different target stations, and can include somepositions reserved for live content, while others are reserved for livetalent to play prerecorded content. When generating or modifying alocal, or target schedule, the non-live, or prerecorded portions of theshow can be replaced without replacing the live portion of the show. Insome implementations, the live talent can simply activate a singlecontrol to allow playout of different replacement items on the differentstations.

Considering a more specific example, the master schedule can be aschedule for a morning drive-time show, so target schedules for multipledifferent stations can be generated from the morning drive-time showmaster schedule, with media scheduled for playout during the morningdrive time show replaced by media items more appropriate for eachdifferent station. Thus, during the drive time show, all of the targetstations can carry the live drive-time show, but the media scheduled forplayout during the drive-time show can be replaced by 80's music on the80's station, by modern alternative music on the modern alternativestation, and so on.

Media balancer 2010 can obtain user input and other parameters used inselecting a potential replacement media item as a replacement media itemfor use in the target schedule. Among those parameters are a durationthreshold 2027, sometimes referred to herein as a duration delta, amaster schedule selection 2022, and a server selection 2021. Mediabalancer 2010 can use the server selection 2021 to identify a particularmaster schedule to use, for example the master schedule for an afternoondaypart of a radio station in Denver, Co., or the master schedule for amorning talk show from a radio station in San Antonio, Tex., and asource for that master schedule. For example both master schedules maybe available from a schedule management service located in Los Angeles,Calif., or the master schedule may need to be obtained from the localstation in Denver or San Antonio.

Server selection 2021 can be used to identify which media schedulingserver or service should be used to perform the evaluation andcomparison of potential replacement media items on behalf of mediabalancer 2010. For example, in at least some embodiments, media balancer2010 obtains a list of potential replacement media items based on aduration delta, such as duration threshold 2027, from a media schedulerA 2040 or media scheduler B 2050. For purposes of this discussion,assume that media scheduler A 2040 provides the media schedulingservice.

The duration delta indicates a maximum delta, or difference, between aruntime of a potential replacement media item and the known runtime of amedia item included in the master schedule. To construct the list ofpotential replacement media items, the known runtime of the media itembeing considered for replacement is modified by the duration delta todetermine a range of acceptable runtimes for a media item to beconsidered as a potential media item. Thus for example, if the runtimedelta is +5 seconds, and the known runtime of the media item beingconsidered for replacement is 3 minutes 43 seconds, then the range ofacceptable runtimes will be 3 minutes 43 seconds-3 minutes 48 seconds.In some embodiments, the duration delta is an absolute value, in whichcase the duration window could be considered to be 3 minutes 43seconds+/−5 seconds. However, various embodiments specifically prohibitselection of a replacement media item that is shorter than the knownruntime of the media item in the master schedule being considered forreplacement, except in cases where multiple media items will be used ina target schedule to replace a single media item in the master schedule.

In some embodiments, media balancer 2010 calculates the range ofacceptable runtimes, and passes that range to media scheduler A 2040 asa parameter that allows media scheduler A 2040 to construct a list ofpotential media replacement items including only items havingsatisfactory runtimes, or having runtimes that satisfy the durationthreshold to within a defined degree of accuracy. In other embodiments,media balancer 2010 passes the duration delta to media scheduler A 2040,along with information about the master schedule, so that mediascheduler A 2040 can determine the acceptable runtime range, or window,and construct the list of potential media replacement items accordingly.

In other embodiments, media balancer 2010 simply requests a list ofpotential replacements from media scheduler A 2040, but does not sendparameters along with the request. Media scheduler A 2040 returns anunfiltered list of potential media items in response to the request, andMedia Balancer 2010 selects a media item based on the duration scores ofthe potential media items included in the unfiltered list. Theunfiltered list of potential media items is, in some embodiments,ordered according to scores of potential media items.

Media balancer 2010 can use target schedule selection 2023 to determinewhich target stations are to have associated target schedules generatedby media balancer 2010. In some embodiments, media balancer 2010 obtainstargeting or music selection parameters associated with target stationsand passes those parameters to media scheduler 2040, which in turn usesthose parameters in constructing the list of potential media replacementitems. Thus, the list of potential replacement media items will, in someembodiments include only media items that both satisfy a durationthreshold, or runtime window, and match the targeting or music selectionparameters.

Media balancer 2010 obtains targeting or music selection parameters fromthe target source of the master schedule, from the target stationitself, and/or from other suitable information sources. The targetingand music selection parameters associated are generally associated withindividual target stations, and can include demographic information,media genre, and the like. In some embodiments, the media targetingparameters correspond to some of the parameters used by media schedulerA 2040 in making media selections, so that the parameters can be passedto media scheduler A 2040 without requiring alteration.

Start/end parameters 2024 can be used to identify the start and end of adaypart, or other portion of a master schedule, to be evaluated by mediabalancer 2010. Filler option 2025 can be used to specify a filler linkmedia identifier. The filler link media identifier can be, for example,a URL, a unique identification number assigned to a particular filleritem, or some other type of identifier or address specifying wherefiller is to be obtained, or specifying the filler content. In someembodiments, filler option 2025 is used in for target stationsbroadcasting media items in a genre where potential replacement mediaitems often have much shorter runtimes than media items included in themaster schedule. In some such cases, it may be desirable to replace asingle media item in the master schedule with multiple replacement mediaitems, and to place filler media between, before, and/or after themultiple replacement media items.

As previously mentioned, media balancer 2010 can obtain a list ofpotential replacement media items that satisfy a duration delta, such asduration threshold 2027. The potential replacement media items includedin the list can be scored using an absolute score, relative to eachother, or a combination of both absolute and relative. One or more ofthe potential replacement media items included in the list can beselected as the actual replacement media item based on that score. Incases where an absolute score is used in the selection process, scorethreshold 2026 can be used to indicate a minimum or maximum acceptablescore, depending on whether high scores are considered better than lowscores or vice versa. Thus, in some embodiments, any item in the listthat does not meet the score threshold 2026 may not be chosen as thereplacement media item.

In other embodiments, a highest relative score can be used to select areplacement media item instead of, or in addition to, using scorethreshold 2026. Thus, for example, in cases where score threshold 2026is not used, the highest scoring potential replacement media item in thelist can be chosen as the replacement media item. In cases where acombination of score threshold 2026 and relative scoring is used, thepotential replacement media item in the list having the highest relativescore can be chosen as the replacement media item, if the highestscoring potential replacement media item satisfies score threshold 2026.

Media balancer 2010 can, in some implementations, include mediascheduling software that performs the scoring. However, in at least oneembodiment, media balancer 2010 cooperates with media scheduler A 2040to obtain scores for each of the items on the list of potentialreplacement media items. For example, media balancer 2010 can providemedia scheduler A 2040 with media selection parameters, and mediascheduler A 2040 can use the provided parameters to score the potentialreplacement media items in the list. These parameters can includestart/end parameters 2024, and in some cases other parameters such as agenre parameter (not illustrated), allow same artist parameter 2029,which specifies whether a replacement media item is permitted to beassociated with the same artist associated with a media item in themaster schedule, or the like. Media scheduler A 2040 can then apply itsown internal media selection algorithms and scheduling rules, inconjunction with the general, high-level, or boundary parametersprovided by media balancer 2010, to score the potential replacementmedia items included in the list. In some embodiments, the mediabalancer 2010 performs the final selection of a replacement media item,while other embodiments obtain the final selection of a replacementmedia item from media scheduler A 2040.

User interface 2020 can also allow a user to enter a list length 2028,which can be used to limit the number of items included in the list ofpotential replacement media items. Limiting the length of the list canbe used to limit the amount of processing required to evaluate anextremely long list, especially where a large number of potentialreplacement media items meet the duration threshold 2027.

Referring next to FIG. 21, a user interface 2020 for a media balancer isillustrated and discussed according to various embodiments of thepresent disclosure. User interface 2120 includes server selector 2121 inthe form of a drop down menu; server address display 2105; masterschedule source selector 2122; target schedule selector 2123; start/endparameter inputs 2124; filler link media identifier 2125; scorethreshold 2126; duration threshold 2127; list length parameter 2128;allow same artist selector 2129; log options 2109; save defaults button2107; source schedule display area 2130, which is used to display themaster schedule; target schedule before-area 2140, which is used todisplay the target schedule before selection and insertion ofreplacement media items; target schedule after-area 2150, which is usedto display the modified target schedule after selection and insertion ofreplacement media items; and log display area 2110.

Server selector 2121 is shown as a drop down menu allowing, in someembodiments, selection of any number of servers, services, devices, etc.that perform media selection and scoring functions. In some embodiments,a user may have access to multiple different servers, devices, services,or media schedulers, such as a server implementing GSelector®. Theserver selected by server selector 2121 can be used by the mediabalancer to obtain lists of potential replacement media items, scoresfor items in the list, and in some cases to obtain the actual selectionof replacement media items. Server address display 2105 can be used inconjunction with server selector 2121 to display or enter a uniformresource locator (URL) or other address at which the selected server canbe reached.

Master schedule source selector 2122 can be used to select which masterschedule is to be used when generating the target schedule. As shown inthe example illustrated in FIG. 21, the Absolute Radio schedule isselected for use as the master schedule. Target schedule selector 2123can be used to select one or more target stations for which targetschedules are to be generated. Start/end parameter inputs 2124 can beused to specify start and end information about the target schedules tobe created or modified. In the illustrated example, target schedules forMay 23, 2014 for the 9 o'clock hour are to be created or modified formultiple target stations based on the Absolute Radio master schedule. Asdiscussed subsequently, the contents of the master schedule can bedisplayed in the source schedule display area 2130, while before andafter versions of target schedules can be displayed in target schedulebefore-area 2140 and target schedule after-area 2150.

Filler link media identifier 2125 can be used to display or enter anaddress, unique identification number, or other identifier associatedwith filler media items to be used where appropriate between multiplereplacement media items. Note that selection of a particular targetstation in target schedule selector 2123 can cause the filler link mediaidentifier 2125 to be pre-populated in the display, or a user can enterfiller link media identifier manually.

Score threshold 2126 can be used to enter a minimum acceptable scorerequired for a potential replacement media item to be selected as areplacement media item and inserted into a target schedule. Durationthreshold 2127 can be used to enter a duration delta, or other valueindicating an acceptable difference between a playout length of a mediaitem in a master schedule being considered for replacement and a playoutlength of potential replacement media items included in a candidate listfor selection as a replacement media item to be inserted into a targetschedule. List length parameter 2128 can be used to specify the numberof potential replacement media items to be included in the candidatelist. Allow same artist selector 2109 can be used to specify whether ornot a potential replacement media item or a replacement media item isallowed to be by the same artist as the media item from the master logbeing replaced.

Log options 2109 can be used to specify the type and detail level ofinformation to be saved and displayed in log display area 2110. Savedefaults button 2107 allows information included in score threshold2126, duration threshold 2127, list length parameter 2128, allow sameartist selector 2129, and log options 2109 to be saved as defaults.

Referring next to FIG. 22, source schedule display area 2230, targetschedule before-area 2240, and target schedule after-area 2250, arediscussed according to various embodiments of the present disclosure. Inthe example illustrated by FIG. 22, source schedule display area 2130shows seven media items scheduled on the Absolute Radio master scheduleduring hour 6 on May 23, 2014. Target schedule before-area 2240 showsthat the target schedule is to be generated for Absolute Radio 90's.Note that in the illustrated example, all positions of Absolute Radio90's target schedule are empty. In some embodiments, the target schedulecan be partially scheduled, with only previously unscheduled positionsbeing scheduled. In yet further embodiments, the target schedule can befully scheduled, with no empty positions, or pre-populated with themedia items from the Absolute Radio master schedule. When pre-populated,some embodiments allow editable positions in the master schedule to bechanged in the target schedule, but prevent editing of positions in themaster schedule designated as non-editable.

Target schedule after-area 2250 shows the contents of the targetschedule after attempted identification and placement of replacementmedia items into the target schedule. Note that as used herein, the termreplacement refers to inserting a media item other than the media itemin the master schedule into a target schedule. Thus, replacementencompasses initial placement of a media item into a target scheduleusing the techniques disclosed herein, as long as that media item isdifferent from the media item in the corresponding position of themaster schedule.

Note that, as indicated by target schedule after-area 2250, the lastthree positions in the target schedule remain unscheduled. Thisindicates that none of the potential replacement media items included inthe list satisfied the score threshold 2127. In some embodiments,positions that remain unscheduled can be filled using media incorresponding positions of the master schedule. In other embodiments,the score threshold or the duration threshold can be adjusted untilreplacement media items are found. In at least one embodiment, anotheriteration of the process can be performed using a smaller durationdelta, for example a duration delta of ½ the original duration delta, sothat multiple potential replacement media items can be considered for asingle unscheduled position.

Referring next to FIG. 23, a log window 2310 is illustrated according toembodiments of the disclosure. In the illustrated example, a verboseaccount of attempts to match potential replacement media items againstmedia item durations, determined based on duration deltas, are reported,or displayed. An unfiltered list of potential media items, orderedaccording to media item scores, and is traversed from highest to lowest,comparing the duration of each item, in turn, to determine if theduration delta is satisfied. The first item in the unfiltered list thatmeets the duration threshold will be the highest ranked item thatsatisfies both a score threshold and the duration delta.

In other embodiments, the duration delta has been previously applied togenerate a list of potential replacement media items that satisfy aduration delta. In some of those embodiments, the score threshold can bethe sole parameter being reported in log window 2310, because if themedia item under consideration is in the list, it necessarily satisfiesthe duration delta.

Although log window 2310 shows a verbose setting of the log, in whichthe evaluation of the duration of each song is reported, the verbose logreporting function of log window 2310 can be disabled (not illustrated)so that single line “success” or “failure” messages can be shown foreach log position.

Referring next to FIG. 24, a method 2400 of scheduling media items usinga media balancer will be discussed according to various embodiments ofthe disclosure. As illustrated at block 2403, the master stationschedule, or simply the master schedule, can be obtained. A masterschedule is, in at least one embodiment, a schedule used to create ormodify other schedules. One or more master schedules can be obtainedfrom any of various sources. The source of the master schedule can beobtained from input into a media balancer interface, and/or from someother suitable source location.

A duration delta can be obtained, as illustrated by block 2405, alongwith a score threshold as shown by block 2407. A filler link mediaidentifier is also obtained from the media balancer interface in someembodiments, as illustrated at block 2409.

The duration delta and the score threshold can, in some implementations,be obtained from input into a media balancer interface. The durationdelta is used to select potential replacement media items that have adesired playout, runtime, or length characteristic, and to assemble alist of those items for further evaluation. The score threshold is usedto evaluate potential replacement media items included in the list,after the list is generated. However, in some embodiments, generation ofthe list can include consideration of both a duration delta and a scorethreshold, so that the result list includes all items determined haveacceptable playout lengths, or runtimes, and scores.

As illustrated at block 2411, a schedule can be read from the targetstation for which a target schedule is being generated. At block 2413 adetermination is made about whether or not to modify the targetschedule. In some embodiments, only a completely empty target schedulefor a particular time period will be modified or created. In thoseinstances, if the target station has even one non-empty scheduleposition, the decision will be made not to modify the target schedule,and method 2400 will proceed to block 2437. However, in someimplementations an attempt will be made to modify the target schedule ifany of the target schedule positions are unassigned, or empty.

Yet other embodiments also take into consideration the master scheduleobtained at block 2403 when making the decision at block 2413. Forexample, if schedule positions in the target schedule correspond to aposition in the master schedule marked as modifiable, the decision toattempt to modify the target schedule can be made, but if all positionsin the master schedule are marked as non-modifiable, then the targetschedule may not be modified.

As illustrated at block 2415, if the decision is made to modify thetarget schedule, the current position in the target schedule to bescheduled can be selected for consideration and attempted modification.For the current schedule position under consideration, an acceptableduration can be determined based on the duration delta. Thus, forexample, if the duration delta is 13 seconds, and the scheduled mediaitem in a corresponding position of the master schedule has a runtime,or length, of 3 minutes 52 seconds, then the acceptable duration, orduration window, for the current target schedule position can be set forbetween 3 minutes 52 seconds and 4 minutes 5 seconds.

At block 2419, a list of potential replacement media items for thecurrent position can be obtained. Items include on the list can belimited to potential replacement media items having a runtime within theacceptable duration determined at block 2417. Thus, the list will, insome embodiments, exclusively include media items within the durationwindow. In some embodiments, rather than excluding items from the listthat fail to meet the duration delta requirement, additional items canbe included, with acceptable length potential replacement media itemsbeing marked, tagged, or otherwise identified to distinguish them fromitems having non-acceptable durations.

As discussed previously, the list can be obtained from a media scheduleror scheduling service by passing information, such as the durationdelta, to the media scheduler, and allowing the media scheduler toselect potential replacement media items for the list based on mediascheduling rules normally used by the media scheduler, with the normallyused rules being modified by the duration delta or other informationbased to the media scheduler by a media balancer.

Items in the list of potential replacement media items obtained at block2419 can be scored, as illustrated by block 2421. In at least oneembodiment, the media scheduler scores each of the potential replacementmedia items included in the list using normal targeting rules, based oninformation about the target schedule, the target station, anticipatedand/or target demographics, and the like. The media scheduler requiresminimal guidance from the media balancer to score the songs, becausenormal scheduling rules for the target station can be followed. In fact,the same media scheduler used to generate conventional schedules for thetarget station can be used to select the list of media items and scorethe list. In some embodiments, the list of media items is a ranked listof media items selected by the music scheduling system according tonormal media selection rules.

As illustrated at block 2423, one or more of the potential replacementmedia items can be selected from the list of potential replacement mediaitems based on the scores obtained at block 2421. In at least oneembodiment, the media balancer selects the replacement media item to beinserted into the target schedule by selecting the highest scoringpotential replacement media item on the list. When a ranked list isused, for example, the length of each media item in the list can bechecked to determine whether the length is within a duration delta of amedia item to be replaced. If the first comparison fails, the list canbe traversed from, highest to lowest rank, with the first media itemmeeting both minimum score and duration threshold requirements beingselected. In some embodiments, the ordered list can be truncated toremove any media items not satisfying a minimum score requirement.Recall that the scores of media items in the list can be determined by amedia scheduling system.

In cases where multiple replacement media items are selected in place ofa single longer media item in the master schedule, the media balancercan also select the fill to be inserted before, during, and/or after thereplacement media items. In some embodiments the fill is selected basedon a filler link media identifier previously obtained via an interfaceof a media balancer. As illustrated by block 2425, the replacement mediaitems are placed into the target schedule.

As illustrated at block 2427, a check is made to determine whether theposition was able to be scheduled. For example, if the list of potentialmedia replacement items was empty there would be no replacement mediaitem to insert into the target schedule, and the determination wouldindicate that the position could not be scheduled. Also, if none of thepotential media replacement items on the list satisfied the scorethreshold or the duration delta, the determination could indicate thatthe position could not be scheduled. If the current position could notbe scheduled, despite an attempt to schedule the position, the positioncan be marked as Open, as illustrated by block 2429.

Whether or not the current position was able to be scheduled, a checkcan be made at block 2431 to determine whether there are additionalschedule positions in the target schedule that should be attempted to bescheduled. If there are more positions to schedule, method 2400 mayreturn to block 2415. If there are no additional positions within thecurrent target schedule to be filled, a check can be made at block 2433to determine if any of the positions in the target schedule remainunfilled.

As illustrated by block 2435, if positions in the current targetschedule remain unfilled, parameter modifications can be allowed in someembodiments. However, whether or not parameter modifications areallowed, another check may be made to see if there are any other targetstation's schedules to be processed from the master schedule, as shownat block 2437. If more target schedules are to be processed, method 2400may return to block 2411. If not, method 2400 ends.

Some or all of the methods and processes described herein can beembodied in or performed by one or more processing systems. An exampleof such a processing system is discussed with reference to FIG. 25.Processing system 2500 includes one or more central processing units,such as CPU A 2505 and CPU B 2507, which may be conventionalmicroprocessors interconnected with various other units via at least onesystem bus 2510. CPU A 2505 and CPU B 2507 may be separate cores of anindividual, multi-core processor, or individual processors connected viaa specialized bus 2511. In some embodiments, CPU A 2505 or CPU B 2507may be a specialized processor, such as a graphics processor, otherco-processor, or the like.

Processing system 2500 includes random access memory (RAM) 2520;read-only memory (ROM) 2515, wherein the ROM 2515 could also be erasableprogrammable read-only memory (EPROM) or electrically erasableprogrammable read-only memory (EEPROM); and input/output (I/O) adapter2525, for connecting peripheral devices such as disk units 2530, opticaldrive 2536, or tape drive 2537 to system bus 2510; a user interfaceadapter 2540 for connecting keyboard 2545, mouse 2550, speaker 2555,microphone 2560, or other user interface devices to system bus 2510;communications adapter 2565 for connecting processing system 2500 to aninformation network such as the Internet or any of various local areanetworks, wide area networks, telephone networks, or the like; anddisplay adapter 2570 for connecting system bus 2510 to a display devicesuch as monitor 2575. Mouse 2550 has a series of buttons 2580, 2585 andmay be used to control a cursor shown on monitor 2575. Monitor 2575 canbe used to display a graphical user interface (GUI), implemented by aprogram of instructions executed by either or both of CPU A 2505 and CPUB 2507.

It will be understood that processing system 2500 may include othersuitable data processing systems without departing from the scope of thepresent disclosure. For example, processing system 2500 may include bulkstorage and cache memories, which provide temporary storage of at leastsome program code in order to reduce the number of times code must beretrieved from bulk storage during execution.

Various disclosed embodiments can be implemented in hardware, software,or a combination containing both hardware and software elements. In oneor more embodiments, the invention is implemented in software, whichincludes but is not limited to firmware, resident software, microcode,etc. Some embodiments may be realized as a computer program product, andmay be implemented as a computer-usable or computer-readable mediumtangibly embodying program code for use by, or in connection with, acomputer, a processor, or other suitable instruction execution system.

As may be used herein, the terms “substantially” and “approximately”provides an industry-accepted tolerance for its corresponding termand/or relativity between items. Such an industry-accepted toleranceranges from less than one percent to fifty percent and corresponds to,but is not limited to, component values, integrated circuit processvariations, temperature variations, rise and fall times, and/or thermalnoise. Such relativity between items ranges from a difference of a fewpercent to magnitude differences. As may also be used herein, theterm(s) “operably coupled to”, “coupled to”, and/or “coupling” includesdirect coupling between items and/or indirect coupling between items viaan intervening item (e.g., an item includes, but is not limited to, acomponent, an element, a circuit, and/or a module) where, for indirectcoupling, the intervening item does not modify the information of asignal but may adjust its current level, voltage level, and/or powerlevel. As may further be used herein, inferred coupling (i.e., where oneelement is coupled to another element by inference) includes direct andindirect coupling between two items in the same manner as “coupled to”.As may even further be used herein, the term “operable to” or “operablycoupled to” indicates that an item includes one or more of powerconnections, input(s), output(s), etc., to perform, when activated, oneor more its corresponding functions and may further include inferredcoupling to one or more other items. As may still further be usedherein, the term “associated with”, includes direct and/or indirectcoupling of separate items and/or one item being embedded within anotheritem. As may be used herein, the term “compares favorably”, indicatesthat a comparison between two or more items, signals, etc., provides adesired relationship. For example, when the desired relationship is thatsignal 1 has a greater magnitude than signal 2, a favorable comparisonmay be achieved when the magnitude of signal 1 is greater than that ofsignal 2 or when the magnitude of signal 2 is less than that of signal1.

As may also be used herein, the terms “processing module”, “module”,“processing circuit”, and/or “processing unit” may be a singleprocessing device or a plurality of processing devices. Such aprocessing device may be a microprocessor, micro-controller, digitalsignal processor, microcomputer, central processing unit, fieldprogrammable gate array, programmable logic device, state machine, logiccircuitry, analog circuitry, digital circuitry, and/or any device thatmanipulates signals (analog and/or digital) based on hard coding of thecircuitry and/or operational instructions. The processing module,module, processing circuit, and/or processing unit may have anassociated memory and/or an integrated memory element, which may be asingle memory device, a plurality of memory devices, and/or embeddedcircuitry of the processing module, module, processing circuit, and/orprocessing unit. Such a memory device may be a read-only memory, randomaccess memory, volatile memory, non-volatile memory, static memory,dynamic memory, flash memory, cache memory, and/or any device thatstores digital information. Note that if the processing module, module,processing circuit, and/or processing unit includes more than oneprocessing device, the processing devices may be centrally located(e.g., directly coupled together via a wired and/or wireless busstructure) or may be distributedly located (e.g., cloud computing viaindirect coupling via a local area network and/or a wide area network).Further note that if the processing module, module, processing circuit,and/or processing unit implements one or more of its functions via astate machine, analog circuitry, digital circuitry, and/or logiccircuitry, the memory and/or memory element storing the correspondingoperational instructions may be embedded within, or external to, thecircuitry comprising the state machine, analog circuitry, digitalcircuitry, and/or logic circuitry. Still further note that, the memoryelement may store, and the processing module, module, processingcircuit, and/or processing unit executes, hard coded and/or operationalinstructions corresponding to at least some of the steps and/orfunctions illustrated in one or more of the Figures. Such a memorydevice or memory element can be included in an article of manufacture.

The enclosed embodiments have been described above with the aid ofmethod steps illustrating the performance of specified functions andrelationships thereof. The boundaries and sequence of these functionalbuilding blocks and method steps have been arbitrarily defined hereinfor convenience of description. Alternate boundaries and sequences canbe defined so long as the specified functions and relationships areappropriately performed. Any such alternate boundaries or sequences arethus within the scope and spirit of the claimed invention. Further, theboundaries of these functional building blocks have been arbitrarilydefined for convenience of description. Alternate boundaries could bedefined as long as the certain significant functions are appropriatelyperformed. Similarly, flow diagram blocks may also have been arbitrarilydefined herein to illustrate certain significant functionality. To theextent used, the flow diagram block boundaries and sequence could havebeen defined otherwise and still perform the certain significantfunctionality. Such alternate definitions of both functional buildingblocks and flow diagram blocks and sequences are thus within the scopeand spirit of the claimed invention. One of average skill in the artwill also recognize that the functional building blocks, and otherillustrative blocks, modules and components herein, can be implementedas illustrated or by discrete components, application specificintegrated circuits, processors executing appropriate software and thelike or any combination thereof.

The enclosed embodiments may have also been described, at least in part,in terms of one or more embodiments. One or more embodiments may be usedherein to illustrate an aspect thereof, a feature thereof, a conceptthereof, and/or an example thereof. A physical embodiment of anapparatus, an article of manufacture, a machine, and/or of a processthat embodies the description herein may include one or more of theaspects, features, concepts, examples, etc. described with reference toone or more of the embodiments discussed herein. Further, from figure tofigure, the embodiments may incorporate the same or similarly namedfunctions, steps, modules, etc. that may use the same or differentreference numbers and, as such, the functions, steps, modules, etc. maybe the same or similar functions, steps, modules, etc. or differentones.

Unless specifically stated to the contra, signals to, from, and/orbetween elements in a figure of any of the figures presented herein maybe analog or digital, continuous time or discrete time, and single-endedor differential. For instance, if a signal path is shown as asingle-ended path, it also represents a differential signal path.Similarly, if a signal path is shown as a differential path, it alsorepresents a single-ended signal path. While one or more particulararchitectures are described herein, other architectures can likewise beimplemented that use one or more data buses not expressly shown, directconnectivity between elements, and/or indirect coupling between otherelements as recognized by one of average skill in the art.

The term “module” is used in the description of the various embodimentsherein. A module includes a functional block that is implemented viahardware to perform one or module functions such as the processing ofone or more input signals to produce one or more output signals. Thehardware that implements the module may itself operate in conjunctionsoftware, and/or firmware. As used herein, a module may contain one ormore sub-modules that themselves are modules.

While particular combinations of various functions and features of theenclosed embodiments have been expressly described herein, othercombinations of these features and functions are likewise possible. Thepresent invention is not limited by the particular examples disclosedherein and expressly incorporates these other combinations.

What is claimed is:
 1. A method for use in a processing deviceimplementing a media balancer, the method comprising: receiving userinput via a user interface of the processing device, the user inputincluding: a master schedule selection indicating user selection of amaster schedule to be used as a basis for generating a plurality oftarget schedules; a target schedule selection indicating user selectionof a plurality of target stations; a duration delta indicating anallowable difference in runtime between a runtime of a replacement mediaitem and an original runtime of a master media item being replaced;determining, at the media balancer, to use the media balancer togenerate a plurality of target schedules for particular target stationsof a plurality of target stations; using the media balancer, incooperation with one or more media schedulers, to generate the pluralityof target schedules by; obtaining, by the media balancer, the masterschedule specified by the master schedule selection, by executing aprogram instruction in a processor; determining, by the media balancer,that a schedule position in the master schedule is marked as modifiable,by executing a program instruction in a processor, wherein a modifiableschedule position allows a target schedule generated from the masterschedule to include the replacement media item in the modifiableschedule position; determining, by the media balancer, an acceptablerange of runtimes for an item to be placed in the scheduled position,the acceptable range of runtimes based on modifying the original runtimeof the master media item using the duration delta, by executing aprogram instruction in a processor; obtaining media selection parametersassociated with the particular target stations; passing the mediaselection parameters and the acceptable range of runtimes to the one ormore media schedulers, wherein the one or more media schedulers use themedia selection parameters and the acceptable range of runtimes toconstruct lists of potential replacement media items; receiving thelists of potential replacement media items from the one or more mediaschedulers; selecting, by the media balancer, the replacement media itemfrom the list of potential replacement media items; and generatingmodified target schedules associated with the target station using themedia balancer, the modified target schedules including the selectedreplacement media item.
 2. The method of claim 1, wherein the selectingfurther comprises: receiving user input indicating a score thresholdindicating a minimum score required for a potential replacement mediaitem to be selected as the replacement media item; and providing anindication in response to determining that none of the potentialreplacement media items in the list of potential replacement media itemsbased on both the score threshold and the duration delta.
 3. The methodof claim 1, further comprising: performing the selecting and themodifying for a plurality of stations targeting different audiencedemographics, the plurality of stations having different targetschedules.
 4. The method of claim 3, further comprising: selectingmultiple different replacement media items from the list of potentialreplacement media items; and inserting the multiple differentreplacement media items into the different target schedules.
 5. Themethod of claim 1, wherein: at least a first of a plurality of mediaitems included in the master schedule is a live portion of a show to bebroadcast on multiple broadcast stations; and the at least one of theplurality of media items is replaced by different replacement items ondifferent stations of the multiple broadcast stations, without replacingthe live portion of the show.
 6. The method of claim 5, furthercomprising: playing out the different replacement items on the differentstations in response to live-activation of a single control.
 7. Themethod of claim 1, wherein selecting a replacement media item furthercomprises: choosing multiple replacement media items from the list ofpotential replacement media items to replace a single media itemspecified by the master schedule.
 8. The method of claim 7, furthercomprising: obtaining a filler link media identifier; and selectingfiller to be inserted between the multiple replacement media items basedon the filler link media identifier.
 9. The method of claim 1, furthercomprising: obtaining input indicating a preferred media scheduler,selected from the one or more media schedulers, to perform comparisonsof potential replacement media items on behalf of the media balancer.10. A method in a media scheduling system for scheduling media items forbroadcast by multiple broadcast stations, the method comprising:performing the following actions for the multiple broadcast stations asa group at a central processing device implementing a media balancer:identifying, at the media balancer, particular media stations of themultiple broadcast stations for which the media balancer will generate aplurality of target schedules; obtaining a duration delta indicating amaximum allowable delta between a runtime of a potential replacementmedia item and a known runtime of a particular media item included in amaster schedule, wherein the master schedule includes a plurality ofmedia items and provides a basis for a respective target schedule foreach of the multiple broadcast stations each having a particularaudience demographic profile; determining an acceptable range ofruntimes using the duration delta; obtaining a score thresholdindicating a minimum score required for the potential replacement mediaitem to be selected as a replacement media item; performing thefollowing actions for individual broadcast stations of the multiplebroadcast stations: providing the acceptable range of runtimes andinformation indicating the particular audience demographic profile, fromthe media balancer to a media scheduler; obtaining, by the mediabalancer from the media scheduling system, a list of potentialreplacement media items selected based, at least in part, on both theparticular audience demographic profile of the individual broadcaststation and the acceptable range of runtimes, wherein the list is rankedaccording to a scoring system, the scoring system based on targetingrules relating to at least the particular audience demographic profile,the target schedule, and the individual broadcast station; attempting toselect a replacement media item from the list of potential replacementmedia items based on the duration delta of the potential replacementmedia items and a score of the scoring system, the score of thereplacement media item being more favorable relative to a score of eachof remaining potential replacement media items; using the mediabalancer, in cooperation with the media scheduler, to generate theplurality of target schedules by replacing the particular media itemincluded in the master schedule with a highest-scoring replacement mediaitem with respect to the score threshold in the respective targetschedule associated with the each of the multiple broadcast stations;and broadcasting the plurality of media items of the respective targetschedule by the each of the multiple broadcast stations.
 11. The methodof claim 10, further comprising performing the following actions for themultiple broadcast stations as a group: selecting a source of the masterschedule from among a plurality of available sources.
 12. The method ofclaim 10, wherein the multiple broadcast stations are associated withdifferent audience demographics, and use different target schedules. 13.The method of claim 10, further comprising: determining whether areplacement media item is the highest-scoring replacement media itemcompared to other media items in the list of potential replacement mediaitems.
 14. The method of claim 10, wherein: at least one of theplurality of media items included in the master schedule is a liveportion of a show to be included in the target schedule associated withthe individual broadcast stations; and attempting to select areplacement media item includes attempting to select differentreplacement media items for different target schedules associated withdifferent individual broadcast stations, without replacing the liveportion of the show in the different target schedules.
 15. The method ofclaim 14, further comprising: playing out the different replacementmedia items on multiple different individual broadcast stations inresponse to live-activation of a single control.
 16. The method of claim10, wherein attempting to select a replacement media item furthercomprises: attempting to select multiple replacement media items fromthe list of potential replacement media items to replace a single one ofthe plurality of media items included in the master schedule.
 17. Themethod of claim 16, further comprising: obtaining a filler link mediaidentifier; and selecting filler to be inserted between the multiplereplacement media items based on the filler link media identifier.
 18. Amedia scheduling system configured to schedule media items for broadcaston multiple broadcast stations, the media scheduling system comprising:a processor and associated memory configured to execute a program ofinstructions implementing a media balancer, the program of instructionsimplementing the media balancer including: at least one instruction toidentify, at the media balancer, particular media stations of themultiple broadcast stations for which the media balancer will generate aplurality of target schedules for particular stations; at least oneinstruction to obtain, at the media balancer, a master schedulespecifying a plurality of media items scheduled for broadcast, whereinat least one of the plurality of media items specified by the masterschedule has a known runtime, and the master schedule provides a basisfor respective target schedules for each of the multiple broadcaststations each having a particular audience demographic profile; at leastone instruction to obtain, at the media balancer, a duration delta, theduration delta being a parameter indicating a maximum delta between aruntime of a potential replacement media item and the known runtime; atleast one instruction to determine that one or more of the respectivetarget schedules is to be modified; at least one instruction todetermine if a schedule position in the master schedule is marked asmodifiable; at least one instruction to determine an acceptable range ofruntimes based on the duration delta; at least one instruction to passat least a portion of the particular audience demographic profile andthe acceptable range of runtimes to a media scheduler, wherein the mediascheduler uses the at least a portion of the particular audiencedemographic profile and the acceptable range of runtimes to construct alist of potential replacement media items, wherein the list of potentialreplacement media items is ranked according to a scoring system, and thescoring system is based on targeting rules relating to at least theparticular audience demographic profile, the target schedule and thebroadcast station; at least one instruction to select a replacementmedia item from the list of potential replacement media items, whereinthe at least one instruction to select further includes: at least oneinstruction to choose at least one of the potential replacement mediaitems from the list of potential replacement media items to replace theat least one of the plurality of media items specified by the masterschedule based, at least in part, on the duration delta and a score ofthe scoring system, the score of the at least one of the potentialreplacement media items being more favorable relative to a score of eachremaining potential replacement media items; and at least oneinstruction to replace the at least one of the plurality of media itemsspecified by the master schedule with the replacement media item toproduce the respective target schedule for at least one of the multiplebroadcast stations.
 19. The media scheduling system of claim 18, whereinthe at least one instruction to select the replacement media itemfurther comprises: obtaining a score threshold indicating a minimumscore required for the potential replacement media item to be selectedas the replacement media item; and providing an indication in responseto determining that none of the potential replacement media items in thelist of potential replacement media items based on both the scorethreshold and the duration delta.
 20. The media scheduling system ofclaim 18, wherein: at least a first of the plurality of media itemsincluded in the master schedule is a live portion of a show to bebroadcast on multiple different broadcast stations; and the at least oneof the plurality of media items is replaced by different replacementitems on different broadcast stations of the multiple differentbroadcast stations, without replacing the live portion of the show, inresponse to live-activation of a single control.